 /*-----------------------------------------------File Info------------------------------------------------
** File Name:               ACD_user.h  
** Last modified date:      2016.09.8
** Last version:            V0.1
** Description:             
**
**--------------------------------------------------------------------------------------------------------            
** Created date:            2016.09.8
** author:                  YLY
** Version:                 V0.1
** Descriptions:            ADC驱动
**--------------------------------------------------------------------------------------------------------*/
#ifndef __ADC_USER_H__
#define __ADC_USER_H__
//------------------
#include "bspConfig.h"
#include "bspGPIO.h"

#define ADC0	0
#define ADC1	1

typedef struct 
{
	rcu_periph_enum rcu;
	uint32_t adc;
	uint32_t channel;
	
	tsCfgGpio io;
}tsCfgAdc;

#define DEV_ADC0_0	/* PA0 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_0, \
		RCU_GPIOA, GPIOA, GPIO_PIN_0, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }

#define DEV_ADC0_1	/* PA1 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_1, \
		RCU_GPIOA, GPIOA, GPIO_PIN_1, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_2	/* PA2 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_2, \
		RCU_GPIOA, GPIOA, GPIO_PIN_2, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_3	/* PA3 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_3, \
		RCU_GPIOA, GPIOA, GPIO_PIN_3, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_4	/* PA4 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_4, \
		RCU_GPIOA, GPIOA, GPIO_PIN_4, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_5	/* PA5 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_5, \
		RCU_GPIOA, GPIOA, GPIO_PIN_5, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_6	/* PA6 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_6, \
		RCU_GPIOA, GPIOA, GPIO_PIN_6, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_7	/* PA7 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_7, \
		RCU_GPIOA, GPIOA, GPIO_PIN_7, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_8	/* PB0 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_8, \
		RCU_GPIOB, GPIOB, GPIO_PIN_0, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }
		
#define DEV_ADC0_9	/* PB1 */ \
		{RCU_ADC, ADC0, ADC_CHANNEL_9, \
		RCU_GPIOB, GPIOB, GPIO_PIN_1, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_AF_0 }		


extern void adcInit(tsCfgAdc *cfg);
extern uint16_t adcSample(tsCfgAdc *cfg);
#endif	//




